package com.lexian.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.lexian.entity.Cart;
import com.lexian.mapper.CartMapper;
import com.lexian.service.CartService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lexian.utils.CommonResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * <p>
 * 购物车 服务实现类
 * </p>
 *
 * @author testjava
 * @since 2021-01-14
 */
@Service
public class CartServiceImpl extends ServiceImpl<CartMapper, Cart> implements CartService {
    @Autowired
    private CartService cartService;
    /**
     * 添加用户的购物车（每个用户只有一个购物车，在用户注册时就添加一个购物车）
     * @param cusId 用户编号（根据用户编号绑定购物车）
     * @return
     */
    public void CustomerCart(long cusId){
        Cart cart=new Cart();
        cart.setCusId(cusId);
        cart.setStatus(1);
        cartService.save(cart);
    }
    /**
     * 修改购物车状态为不使用： status:0
     * @param cartId
     * @return
     */
    public void CartStatus(long cartId){
        QueryWrapper<Cart> wrapper=new QueryWrapper<>();
        wrapper.eq("cart_id",cartId);
        Cart cart = new Cart();
        cart.setStatus(0);
        cartService.update(cart,wrapper);
    }

    /**
     * 查询用户使用状态的购物车
     * @param cusId
     * @return 使用购物车的编号
     */
    public long getCartIdByCusId(long cusId){
        QueryWrapper<Cart> wrapper=new QueryWrapper<>();
        wrapper.eq("cus_id",cusId);
        wrapper.eq("status",1);
        return cartService.getOne(wrapper).getCartId();
    }
}
